An exchange or other financial institution or organization providing a market place for trading often provides its service using an electronic trading platform. Modern electronic trading systems are often implemented as a three tier layer model, comprising back-end servers, intermediate servers and trading applications.
The market participants connect to the exchange's trading platform utilizing a trading application which is either an application provided by the exchange or more often a proprietary application integrated with the participants internal systems.
Trading servers typically provide services such as processing order requests, order matching, trade capture, settlement and clearing. Very often all trading functionality is not kept in one server; but rather distributed over a set of physical servers.
The intermediate server layer handles the trading application connectivity. Received incoming request are dispatched to the appropriate back-end server depending on the request. The intermediate layer is also responsible for feeding updates of information back to trading applications.
In a typical message flow, the trading system receives updates from trading applications, applies these updates to the central servers, and then distributes the updates to all trading applications.
Participants in an electronic market are financial institutions like banks, broker firms and market maker firms. They either trade on behalf of a retail customer or for themselves, i.e., proprietary trading. The matching process is driven by the participants inserting orders and quotes into the “market”. Orders are often inserted as a result of a retail user requesting a participant to act as intermediary.
Market makers have an obligation to “make a market”, i.e., they will provide liquidity by almost always providing bids and offers. They change there prices in the market depending on their market belief and other market factors such as market news, their position and other underlying financial factors being changed.
A major challenge for all exchanges is to provide a well performing and reliable trading system. Each order and quote event requires a significant amount of processing steps to guarantee that the order or quote is processed in a secure, reliable and consistent manner. The overall problem is that incoming orders and quotes have to be received over the network, synchronized with the rest of the order flow, audit and recover logged etc.